<h1 id="smbclient">smbclient</h1>
<p>交互方式访问samba服务器</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>smbclient命令</strong> 属于samba套件，它提供一种命令行使用交互式方式访问samba服务器的共享资源。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">smbclient(选项)(参数)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">-B&lt;ip地址&gt;：传送广播数据包时所用的IP地址；
-d&lt;排错层级&gt;：指定记录文件所记载事件的详细程度；
-E：将信息送到标准错误输出设备；
-h：显示帮助；
-i&lt;范围&gt;：设置NetBIOS名称范围；
-I&lt;IP地址&gt;：指定服务器的IP地址；
-l&lt;记录文件&gt;：指定记录文件的名称；
-L：显示服务器端所分享出来的所有资源；
-M&lt;NetBIOS名称&gt;：可利用WinPopup协议，将信息送给选项中所指定的主机；
-n&lt;NetBIOS名称&gt;：指定用户端所要使用的NetBIOS名称；
-N：不用询问密码；
-O&lt;连接槽选项&gt;：设置用户端TCP连接槽的选项；
-p&lt;TCP连接端口&gt;：指定服务器端TCP连接端口编号；
-R&lt;名称解析顺序&gt;：设置NetBIOS名称解析的顺序；
-s&lt;目录&gt;：指定smb.conf所在的目录；
-t&lt;服务器字码&gt;：设置用何种字符码来解析服务器端的文件名称；
-T&lt;tar选项&gt;：备份服务器端分享的全部文件，并打包成tar格式的文件；
-U&lt;用户名称&gt;：指定用户名称；
-w&lt;工作群组&gt;：指定工作群组名称。</code></pre>
<h3 id="参数">参数</h3>
<p>smb服务器：指定要连接的smb服务器。</p>
<h3 id="实例">实例</h3>
<p><strong>列出某个IP地址所提供的共享文件夹</strong></p>
<pre><code class="language-bash">smbclient -L 198.168.0.1 -U username%password</code></pre>
<p><strong>像ftp客户端一样使用smbclient</strong></p>
<pre><code class="language-bash">smbclient //192.168.0.1/tmp  -U username%password</code></pre>
<p>执行smbclient命令成功后，进入smbclient环境，出现提示符：<code>smb:/&gt;</code></p>
<p>这里有许多命令和ftp命令相似，如cd 、lcd、get、megt、put、mput等。通过这些命令，我们可以访问远程主机的共享资源。</p>
<p><strong>直接一次性使用smbclient命令</strong></p>
<pre><code class="language-bash">smbclient -c &quot;ls&quot;  //192.168.0.1/tmp  -U username%password</code></pre>
<p>和</p>
<pre><code class="language-bash">smbclient //192.168.0.1/tmp  -U username%password
smb:/&gt;ls</code></pre>
<p>功能一样的。</p>
<p><strong>创建一个共享文件夹</strong></p>
<pre><code class="language-bash">smbclient -c &quot;mkdir share1&quot; //192.168.0.1/tmp -U username%password</code></pre>
<p>如果用户共享<code>//192.168.0.1/tmp</code>的方式是只读的，会提示<code>NT_STATUS_ACCESS_DENIED making remote directory /share1</code></p>
<!-- Linux命令行搜索引擎：https://jaywcjlove.github.io/linux-command/ -->
